#ifndef RIGIDBODYTEST_H_
#define RIGIDBODYTEST_H_

#include "BodyMesh.h"
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>

#include "../src/RigidBody.h"
#include "../include/Universe.h"
#include "../include/instantiate.h"

using physicsworks::instanceUniverse;
using physicsworks::Universe;
using physicsworks::RigidBody;

class RigidBodyTest : public CppUnit::TestFixture
{
	CPPUNIT_TEST_SUITE(RigidBodyTest);
	CPPUNIT_TEST(testName);
	CPPUNIT_TEST(testMass);
	CPPUNIT_TEST(testGravityCenter);
	CPPUNIT_TEST(testInertiaTensor);
	CPPUNIT_TEST(testBodyState);
	CPPUNIT_TEST(testPosition);
	CPPUNIT_TEST(testOrientation);
	CPPUNIT_TEST(testRestitution);
	CPPUNIT_TEST(testDynamicFriction);
	CPPUNIT_TEST_SUITE_END();
	
private:
	RigidBody *monkey, *chair;

public:

	void setUp();
	void testName();
	void testMass();
	void testGravityCenter();
	void testInertiaTensor();
	void testBodyState();
	void testPosition();
	void testOrientation();
	void testRestitution();
	void testDynamicFriction();
	void tearDown();
};

#endif /*RIGIDBODYTEST_H_*/
